package com.framwork.core.api.addressbook.user.result;

import com.framwork.core.base.AbstractAPIResult;

import java.util.List;

/**
 * @author ：james.liu
 * @date ：Created in 2022/3/4 14:56
 * @description：获取部门直属用户列表
 * @version: 1.0
 */
public class OpenApisContactV3UsersFindByDepartmentResult extends AbstractAPIResult {

    private RData data;

    public RData getData() {
        return data;
    }

    public void setData(RData data) {
        this.data = data;
    }

    public static class RData {
        /**
         * 是否还有更多项
         */
        private boolean has_more;
        /**
         *
         */
        private String page_token;
        /**
         *
         */
        private List<Items> items;

        public boolean isHas_more() {
            return has_more;
        }

        public void setHas_more(boolean has_more) {
            this.has_more = has_more;
        }

        public String getPage_token() {
            return page_token;
        }

        public void setPage_token(String page_token) {
            this.page_token = page_token;
        }

        public List<Items> getItems() {
            return items;
        }

        public void setItems(List<Items> items) {
            this.items = items;
        }
    }


    public static class Items {
        /**
         * 用户头像信息
         * 字段权限要求（满足任一）：
         * 以应用身份读取通讯录
         * 获取用户基本信息
         * 以应用身份访问通讯录历史版本
         * 读取通讯录历史版本
         */
        private Avatar avatar;
        /**
         * 头像的文件Key，可通过“消息与群组/消息/图片信息”中的“上传图片”接口上传并获取头像文件 Key
         */
        private String avatar_key;
        /**
         * 城市
         */
        private String city;
        /**
         * 国家或地区Code缩写，具体写入格式请参考
         */
        private String country;
        /**
         *
         */
        private List<CustomAttrs> custom_attrs;
        /**
         *
         */
        private List<String> department_ids;
        /**
         *
         */
        private String email;
        /**
         *
         */
        private String employee_no;
        /**
         *
         */
        private Integer employee_type;
        /**
         *
         */
        private String en_name;
        /**
         *
         */
        private String enterprise_email;
        /**
         *
         */
        private Integer gender;
        /**
         *
         */
        private boolean is_frozen;
        /**
         *
         */
        private boolean is_tenant_manager;
        /**
         *
         */
        private String job_title;
        /**
         *
         */
        private Long join_time;
        /**
         *
         */
        private String leader_user_id;
        /**
         *
         */
        private String mobile;
        /**
         *
         */
        private boolean mobile_visible;
        /**
         *
         */
        private String name;
        /**
         *
         */
        private String nickname;
        /**
         *
         */
        private String open_id;
        /**
         *
         */
        private List<Orders> orders;
        /**
         *
         */
        private Status status;
        /**
         *
         */
        private String union_id;
        /**
         *
         */
        private String user_id;
        /**
         *
         */
        private String work_station;

        public Avatar getAvatar() {
            return avatar;
        }

        public void setAvatar(Avatar avatar) {
            this.avatar = avatar;
        }

        public String getAvatar_key() {
            return avatar_key;
        }

        public void setAvatar_key(String avatar_key) {
            this.avatar_key = avatar_key;
        }

        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public String getCountry() {
            return country;
        }

        public void setCountry(String country) {
            this.country = country;
        }

        public List<CustomAttrs> getCustom_attrs() {
            return custom_attrs;
        }

        public void setCustom_attrs(List<CustomAttrs> custom_attrs) {
            this.custom_attrs = custom_attrs;
        }

        public List<String> getDepartment_ids() {
            return department_ids;
        }

        public void setDepartment_ids(List<String> department_ids) {
            this.department_ids = department_ids;
        }

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        public String getEmployee_no() {
            return employee_no;
        }

        public void setEmployee_no(String employee_no) {
            this.employee_no = employee_no;
        }

        public Integer getEmployee_type() {
            return employee_type;
        }

        public void setEmployee_type(Integer employee_type) {
            this.employee_type = employee_type;
        }

        public String getEn_name() {
            return en_name;
        }

        public void setEn_name(String en_name) {
            this.en_name = en_name;
        }

        public String getEnterprise_email() {
            return enterprise_email;
        }

        public void setEnterprise_email(String enterprise_email) {
            this.enterprise_email = enterprise_email;
        }

        public Integer getGender() {
            return gender;
        }

        public void setGender(Integer gender) {
            this.gender = gender;
        }

        public boolean isIs_frozen() {
            return is_frozen;
        }

        public void setIs_frozen(boolean is_frozen) {
            this.is_frozen = is_frozen;
        }

        public boolean isIs_tenant_manager() {
            return is_tenant_manager;
        }

        public void setIs_tenant_manager(boolean is_tenant_manager) {
            this.is_tenant_manager = is_tenant_manager;
        }

        public String getJob_title() {
            return job_title;
        }

        public void setJob_title(String job_title) {
            this.job_title = job_title;
        }

        public Long getJoin_time() {
            return join_time;
        }

        public void setJoin_time(Long join_time) {
            this.join_time = join_time;
        }

        public String getLeader_user_id() {
            return leader_user_id;
        }

        public void setLeader_user_id(String leader_user_id) {
            this.leader_user_id = leader_user_id;
        }

        public String getMobile() {
            return mobile;
        }

        public void setMobile(String mobile) {
            this.mobile = mobile;
        }

        public boolean isMobile_visible() {
            return mobile_visible;
        }

        public void setMobile_visible(boolean mobile_visible) {
            this.mobile_visible = mobile_visible;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getOpen_id() {
            return open_id;
        }

        public void setOpen_id(String open_id) {
            this.open_id = open_id;
        }

        public List<Orders> getOrders() {
            return orders;
        }

        public void setOrders(List<Orders> orders) {
            this.orders = orders;
        }

        public Status getStatus() {
            return status;
        }

        public void setStatus(Status status) {
            this.status = status;
        }

        public String getUnion_id() {
            return union_id;
        }

        public void setUnion_id(String union_id) {
            this.union_id = union_id;
        }

        public String getUser_id() {
            return user_id;
        }

        public void setUser_id(String user_id) {
            this.user_id = user_id;
        }

        public String getWork_station() {
            return work_station;
        }

        public void setWork_station(String work_station) {
            this.work_station = work_station;
        }
    }

    public static class Status {
        private boolean is_activated;
        private boolean is_exited;
        private boolean is_resigned;
        private boolean is_unjoin;

        public boolean isIs_activated() {
            return is_activated;
        }

        public void setIs_activated(boolean is_activated) {
            this.is_activated = is_activated;
        }

        public boolean isIs_exited() {
            return is_exited;
        }

        public void setIs_exited(boolean is_exited) {
            this.is_exited = is_exited;
        }

        public boolean isIs_resigned() {
            return is_resigned;
        }

        public void setIs_resigned(boolean is_resigned) {
            this.is_resigned = is_resigned;
        }

        public boolean isIs_unjoin() {
            return is_unjoin;
        }

        public void setIs_unjoin(boolean is_unjoin) {
            this.is_unjoin = is_unjoin;
        }
    }

    public static class Orders {
        private String department_id;
        private String department_order;
        private String user_order;

        public String getDepartment_id() {
            return department_id;
        }

        public void setDepartment_id(String department_id) {
            this.department_id = department_id;
        }

        public String getDepartment_order() {
            return department_order;
        }

        public void setDepartment_order(String department_order) {
            this.department_order = department_order;
        }

        public String getUser_order() {
            return user_order;
        }

        public void setUser_order(String user_order) {
            this.user_order = user_order;
        }
    }

    public static class Avatar {

        private String avatar_240;
        private String avatar_640;
        private String avatar_72;
        private String avatar_origin;

        public String getAvatar_240() {
            return avatar_240;
        }

        public void setAvatar_240(String avatar_240) {
            this.avatar_240 = avatar_240;
        }

        public String getAvatar_640() {
            return avatar_640;
        }

        public void setAvatar_640(String avatar_640) {
            this.avatar_640 = avatar_640;
        }

        public String getAvatar_72() {
            return avatar_72;
        }

        public void setAvatar_72(String avatar_72) {
            this.avatar_72 = avatar_72;
        }

        public String getAvatar_origin() {
            return avatar_origin;
        }

        public void setAvatar_origin(String avatar_origin) {
            this.avatar_origin = avatar_origin;
        }
    }

    public static class CustomAttrs {

        private String id;

        private String type;

        private Value value;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public Value getValue() {
            return value;
        }

        public void setValue(Value value) {
            this.value = value;
        }
    }

    public static class Value {
        private String name;

        private String option_id;

        private String option_value;

        private String pc_url;

        private String picture_url;

        private String text;

        private String url;

        private GenericUser generic_user;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getOption_id() {
            return option_id;
        }

        public void setOption_id(String option_id) {
            this.option_id = option_id;
        }

        public String getOption_value() {
            return option_value;
        }

        public void setOption_value(String option_value) {
            this.option_value = option_value;
        }

        public String getPc_url() {
            return pc_url;
        }

        public void setPc_url(String pc_url) {
            this.pc_url = pc_url;
        }

        public String getPicture_url() {
            return picture_url;
        }

        public void setPicture_url(String picture_url) {
            this.picture_url = picture_url;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public GenericUser getGeneric_user() {
            return generic_user;
        }

        public void setGeneric_user(GenericUser generic_user) {
            this.generic_user = generic_user;
        }
    }

    public static class GenericUser {
        private String id;

        private Integer type;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public Integer getType() {
            return type;
        }

        public void setType(Integer type) {
            this.type = type;
        }
    }


}
